package com.bbm.communitysystem.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author bbm
 * @since 2025-02-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("oss_file")
public class OssFile implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 文件id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 隶属用户
     */
    private String user;

    /**
     * 文件名称
     */
    private String fileName;

    /**
     * 文件主题
     */
    private String subject;

    /**
     * 文件类型
     */
    private String fileType;

    private String hash;

    /**
     * 源文件名称
     */
    private String originFileName;

    /**
     * 客户访问地址
     */
    private String clientUrl;

    /**
     * 文件存放地址
     */
    private String serverPath;

    /**
     * 上传者
     */
    private String updateBy;

    /**
     * 上传时间
     */
    private String updateTime;

    /**
     * 0正常 1逻辑删除 2不启用
     */
    private Integer status;


    public OssFile create(String user) {
        this.updateBy = user;
        this.updateTime = System.currentTimeMillis() + "";
        this.user = user;
        this.status = 0 ;
        return this;
    }

}
